package com.csun.cmny.provider.dao;

import com.csun.cmny.provider.model.domain.OmcServiceOrder;
import com.csun.cmny.provider.model.dto.*;
import com.csun.cmny.provider.model.dto.service.LongRangeServiceOrderCountDto;
import com.csun.cmny.provider.model.dto.service.ServiceOrderCountDto;
import com.csun.cmny.provider.model.vo.*;
import com.csun.cmny.provider.model.vo.service.ServiceCountStatusVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

public interface OmcServiceOrderMapper extends Mapper<OmcServiceOrder> {

    /*
    * 分页查询
    * */
    List<ServiceOrderVO> listPage(ServiceOrderQueryDto serviceOrderQueryDto);

    /*
     * 分页查询待抢单
     * */
    List<ServicePendingOrderVo> listOrderPage(OmcAddressDto omcAddressDto);

    /*
     * 分页查询历史单
     * */
    List<ServicedOrderVo> listServicedPage(OmcServicedOrderDto omcServicedOrderDto);

    List<ServiceListComplaintVo> listComplaintOrderPage(ServiceComplaintDto serviceComplaintDto);
    /*
    * 订单统计
    * */
    List<OrderCountVO> orderCount(CountQueryDTO countQueryDTO);

    /*
    * 商家统计
    * */
    List<MerchantCountVO> merchantCount(CountQueryDTO countQueryDTO);

    List<ServiceCountStatusVo> selectOrderNumbersByStatus(ServiceOrderCountDto serviceOrderCountDto);

    List<ServiceCountStatusVo> selectlongRangeOrderNumbersByStatus(LongRangeServiceOrderCountDto longRangeServiceOrderCountDto);

    Integer selectHaveUnfinishedOrderNumbersIsChantGet(@Param("userId") Long userId);

    Integer selectHaveUnfinishedOrderNumbersIsUserGet(@Param("userId") Long userId);
    /*
     * 大数据平台居家养老服务展示-居家服务数据
     * */
    List<ServiceOrderVO> selectOrderByNurseHome(@Param("serviceOrderVO") ServiceOrderVO serviceOrderVO,@Param("groupIdList") List<Long> groupIdList);
}